package com.zhx.threadcoreknowledge.stopthread;

/**
 * @author ：zhanghaixuan
 * @date ：Created in 2019-10-01 09:55
 * 用途         ： 错误的停止方法,用stop方法停止线程, 会导致线程运行一半,忽然停止,没办法完成一个基本单位的操作
 * 会造成脏数据
 *
 * suspend: 休息的时候会携带锁,容易造成死锁
 */
public class StopThread implements Runnable{

    @Override
    public void run() {
        //模拟军队:一共有五个单位,每单位100人,以连为单位发放弹药

        for (int i = 0; i < 5; i++) {
            System.out.println("连队"+i+"开始领取武器");
            for (int j = 0; j < 100; j++) {
                System.out.println("士兵号码"+j);
                try {
                    Thread.sleep(50);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("连队"+i+"已经领取完毕");
        }
    }


    public static void main(String[] args) {
        Thread thread = new Thread(new StopThread());
        thread.start();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        thread.stop();
    }
}
